1. Technical Field
The present invention relates in general to a system and method for hibernating application state data on a removable module. In particular, the present invention relates to a system and a method for storing application state information on a removable module upon removal of the removable module from a computer system in order to enable resuming the applications upon reinsertion of the removable module.
2. Description of the Related Art
Many computer users own multiple computer systems and/or other computing devices. A user may own, for example, a desktop computer at home, a desktop computer at work, a portable laptop computer. In addition, a user may own pocket-sized computing devices such as a personal data assistant and a mobile phone.
For each computer system and device a user owns, the user must purchase a separate operating system license. For example, a user must purchase a Windows operating system license for a desktop personal computer and a Palm operating system license for a personal data assistant. Often, the license to the operating system is included in the price of the system. The user must purchase a separate operating system license even for computer systems that can use the same operating system. For example, a user must separately license a Windows operating system for both a desktop and a laptop personal computer even if these are not used at the same time.
In addition to the cost associated with owning multiple operating systems, a user must separately maintain and update each one of the operating systems. For example, if an update for a Windows operating system is available and a user is running Windows on both a desktop and a laptop personal computer, the user must separately execute the Windows update utility from both the laptop and the desktop. If a user wishes to install a particular Windows desktop theme, the user must install the Desktop theme on both the desktop and the laptop. If a user wishes to install and use a certain printer, the user must install the printer driver on both the desktop and the laptop. If a user wishes to store a list of favorite websites, the user must do so on both the desktop and the laptop.
What is needed, therefore, is a system and method that could provide a user with a way of purchasing a single license and running a single operating system on multiple computer systems. The system and method should provide the user with the ability only to update and maintain a single operating system and then provide the user with the ability to run the single operating system on one of multiple computer systems.
Each computer system and device a user owns requires a separate processor. For example, a desktop personal computer and a personal data assistant require two processors of different types. Separate processors are required even for computers in the same family such as a Windows desktop personal computer and a Windows laptop personal computer.
Furthermore, computer systems are typically restricted to the computational power provided by the computer system's internal processor. Even if a user owns other processors (such as processors in the user's other computer systems), the user cannot utilize the computational power of these processors in computer systems other than the ones in which the processors are installed.
What is needed, therefore, is a system and method that could provide a user with the capability of owning a single processor being able to be used on multiple computer systems. The system and method should also provide the user with the ability to utilize additional processors on a computer system having an existing processor in order for the computational load to be shared between the existing processor and the additional processors for better computational power.
While transferring operating system and/or CPU modules from one computer system to another, it would be desirable to also have the ability to transfer application state information such that a user may resume any applications the user was executing on a previous computer system on the current computer system. Therefore, what is needed is a method and a system for transferring application state data using the removable module such that a user can resume previously executing applications on the previous computer system on the current computer system.